home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / newsgroups / misc.19941031-19941221 / 000300_news@columbia.edu_Tue Nov 29 14:21:12 1994.msg < prev    next >
Internet Message Format  |  2020-01-01  |  10KB

  1. Received: from apakabar.cc.columbia.edu by watsun.cc.columbia.edu with SMTP id AA27500
  2.   (5.65c+CU/IDA-1.4.4/HLK for <kermit.misc@watsun.cc.columbia.edu>); Tue, 29 Nov 1994 09:21:26 -0500
  3. Received: by apakabar.cc.columbia.edu id AA16414
  4.   (5.65c+CU/IDA-1.4.4/HLK for kermit.misc@watsun); Tue, 29 Nov 1994 09:21:24 -0500
  5. Path: news.columbia.edu!watsun.cc.columbia.edu!fdc
  6. From: fdc@watsun.cc.columbia.edu (Frank da Cruz)
  7. Newsgroups: comp.protocols.kermit.misc
  8. Subject: Re: Optimizing speed using C-Kermit
  9. Date: 29 Nov 1994 14:21:12 GMT
  10. Organization: Columbia University
  11. Lines: 180
  12. Message-Id: <3bfdco$g07@apakabar.cc.columbia.edu>
  13. References: <3belo7$aqc@nntp1.u.washington.edu>
  14. Nntp-Posting-Host: watsun.cc.columbia.edu
  15. Apparently-To: kermit.misc@watsun.cc.columbia.edu
  16.  
  17. In article <3belo7$aqc@nntp1.u.washington.edu>,
  18. Brian Wirt <wirt@u.washington.edu> wrote:
  19. >It's been quite a long time since I've had to use kermit to transfer 
  20. >files from a remote Unix machine to my home PC and vice-versa, but alas, 
  21. >the time is here yet again.
  22. >
  23. >My problem is that I can't remember exactly what options I used to 
  24. >optimize download speed.  I seem to recall setting the packet length or 
  25. >something.  If anyone can help me out I would appreciate it.  I remember 
  26. >two or three things I used to type that would boost the speed from about 
  27. >200 CPS to 900 CPS on a 14.4k modem.  Can anyone tell me how to obtain 
  28. >this speed or even better?
  29. >
  30. Reposting (and slightly updating):
  31.  
  32. Path: news.columbia.edu!usenet
  33. From: fdc@fdc.cc.columbia.edu (Frank da Cruz)
  34. Newsgroups: comp.protocols.kermit.misc
  35. Subject: Re: [HELP] Slow Kermit Transfer ?!
  36. Date: 19 Sep 1994 14:15:42 GMT
  37. Organization: Columbia University
  38. Lines: 153
  39. Keywords: Kermit, Performance, Slow, Fast
  40.  
  41. In article <35jrgsINNdq2@newsman.csu.murdoch.edu.au>
  42. anson@csuvax1.csu.murdoch.edu.au (Binh Anson) writes:
  43. > I used Kermit 3.13 for my PC, my modem has a speed of 14.4 K, but I found
  44. > that the downloading rate from the mainframe to my PC was still very slow!
  45. > I tried Telix with SZ (Z-Modem Protocol), and it was very fast compared to
  46. > Kermit. Is there a way to accelerate Kermit transfer ?
  47. Yes.
  48.  
  49. But first, welcome to comp.protocols.kermit.misc.  This is the first
  50. day of operation of this unmoderated newsgroup.  I hope it will prove
  51. beneficial to all Kermit users.
  52.  
  53. To answer your question, somewhat longwindedly, since this Question is
  54. Asked so Frequently :-) ...
  55.  
  56. Zmodem is optimized for speed on the assumption that it has a clear 8-bit
  57. transparent channel with no blockages (small buffers, etc), and so, out of
  58. the box, when it works it goes fast.  The tradeoff is that it often does
  59. not work at all, in which case you have to configure it in various ways --
  60. escaping of control characters, changing window size, etc.  In some cases
  61. it can't be made to work at all, either because of the nature of the
  62. connection, or because of one or both of the computers on the two ends.
  63.  
  64. Kermit, on the other hand, is configured to work -- i.e. transfer files --
  65. out of the box, even under hostile conditions.  By default, it does not 
  66. assume that control characters pass through transparently, nor that large
  67. buffers are available.  It does not even assume a full-duplex connection.
  68. The tradeoff is speed.
  69.  
  70. In a perfect world, there would be no tradeoffs, but the world is far from
  71. perfect.  7-bit transmission is still extremely common, small buffers are
  72. very common, even in modern terminal servers and other communications
  73. processors, flow control is rarely implemented correctly and effectively,
  74. telephone lines are still noisy, and we still have a bewildering array
  75. of communication methods needed for accessing different kinds of hosts and
  76. services.  Most PCs are still shipped with non-buffered UARTs; many PCs
  77. have interrupt conflicts, noisy buses, etc; many modern modems are buggy.
  78. The list goes on.  This is by way of demonstrating that Kermit's default
  79. tuning is not crazy, and goes a long way towards explaining its justified
  80. reputation for dependability.
  81.  
  82. Unfortunately, because of the tradeoffs necessary to achieve its
  83. reliability, Kermit has a reputation for slowness:
  84.  
  85.   Yes, Kermit transfers are slow if you use the default tuning.
  86.  
  87. However, you can make Kermit go as fast the communication path will permit
  88. by changing a few parameters.  But first, here are some general principles
  89. that apply to all communications software:
  90.  
  91.  1. Ensure that you have an effective means of flow control enabled at
  92.     every juncture along the communication path (this applies to any file
  93.     transfer protocol).  For example, when using high-speed,
  94.     error-correcting modems, you should use some form of hardware flow
  95.     control, most commonly RTS/CTS.  You have to tell the software to use
  96.     it, AND you have to tell the modem to use it too -- if the flow
  97.     control methods of the PC and the modem do not agree, then data will
  98.     be lost.
  99.  
  100.  2. If your modem is capable of data compression, use it.  Fix the
  101.     interface speed of the software to four times the connection speed if
  102.     possible -- e.g. for a V.32bis 14400 bps connection, use an interface
  103.     speed of 57600, or else the modem's compression capacity is likely to
  104.     be wasted.
  105.  
  106.  3. On network connections (e.g. TCP/IP), it is usually best to turn off
  107.     flow control entirely, because the underlying networking method
  108.     supplies fully effective flow control.
  109.  
  110. Now, to make Kermit go fast, follow these steps:
  111.  
  112.  1. Use real Kermit software, not the many shareware and commercial
  113.     packages, most of whose Kermit protocol implementations lack the
  114.     performance features listed below and/or the means for the user to
  115.     control them.
  116.  
  117.  2. Use long packets.  Kermit's default packet length is 94.  You can
  118.     increase it to a theoretical maximum of 9024.  Give the following
  119.     command to the file receiver:
  120.  
  121.       SET RECEIVE PACKET-LENGTH 2000  ; (or other length)
  122.  
  123.     The longer you make the packets, the more efficient the file transfer
  124.     will be... IF IT WORKS.  If you make packets longer than some buffer
  125.     somewhere along the line, and effective flow control is lacking, the
  126.     transfer might not work.  Also, the longer the packet, the greater
  127.     the chance it will be hit by noise, and the longer it takes to
  128.     retransmit.
  129.  
  130.  3. On full duplex connections, use sliding windows.  Sliding windows
  131.     allow packets to be transmitted in a continuous stream, rather than
  132.     "stop and wait" style.  The command is:
  133.  
  134.       SET WINDOW 4 ; (or other number)
  135.  
  136.     The maximum is 32 (or less, depending on the implementation).  Give
  137.     this command to *both* Kermit programs.
  138.  
  139. For text files and uncompressed binary files, this should give you very
  140. good performance -- efficiencies in the 85%-100% range.  For compressed
  141. files, and certain other types of binary files, you can squeeze out
  142. another 20-25% efficiency by telling Kermit not to prefix a given list of
  143. control characters.  A typical sequence might be:
  144.  
  145.   SET CONTROL UNPREFIX ALL  ;  Unprefix all control characters.
  146.   SET CONTROL PREFIX 0 1 13 129 141 ...  ; Add back prefixes for these.
  147.  
  148. This requires a lot of trial and error because there is no way that a
  149. communication software program can know what characters are safe and
  150. which ones are not on a particular connection.  For example, you might be
  151. going through an X.25 PAD where Ctrl-P will pop you back to the PAD
  152. prompt.  Or you might be going through a TELNET terminal server where
  153. Ctrl-] or Ctrl-^ will pop you back to the terminal server prompt.  Or the
  154. connection might be using Xon/Xoff flow control, and sending Ctrl-S as a
  155. data character might freeze the connection.
  156.  
  157. If you take all of these steps, using optimal packet lengths, window
  158. sizes, and unprefixing, you should achieve transfer rates comparable to,
  159. and often better than, the Zmodem implementations that you find in Telix,
  160. Procomm, and similar shareware and commercial packages; for example, on a
  161. V.32bis/V.42/V.42bis connection, RTS/CTS flow control, no parity, 57600
  162. bps interface speed:
  163.  
  164.   Typical text files:        3500 cps (characters per second)
  165.   Uncompressed binary files: 2400 cps (e.g. PC KERMIT.EXE)
  166.   Compressed files:          1600 cps (e.g. ZIP files)
  167.  
  168. These figures come from Kermit News #5, June 1993, which is available via
  169. anonymous ftp from kermit.columbia.edu, directory kermit/e, file
  170. newsn5.txt (ASCII) or newsn5.ps (PostScript).  Also see newsn4.txt (.ps)
  171. for a detailed discussion of long packets and sliding windows.
  172.  
  173. Kermit software is available via anonymous ftp to kermit.columbia.edu
  174. [128.59.39.2], directory kermit and its subdirectories.  There are
  175. literally hundreds of different Kermit programs for *almost* every machine
  176. and operating system imaginable.  The most widely used Kermit programs
  177. are:
  178.  
  179.  . MS-DOS Kermit 3.13 for DOS and Windows.
  180.    No, this is not a native Windows application, but yes, this
  181.    is the Kermit software we recommend for Windows.
  182.    File: kermit/archives/msvib.zip.
  183.    MS-DOS Kermit 3.14 Beta: kermit/test/bin/mstibm.zip.
  184.    Unzip with "-d" switch.
  185.  
  186.  . C-Kermit 5A(190) for UNIX, VMS, OS/2, AOS/VS, the Commodore Amiga, etc.
  187.    UNIX: kermit/archives/cku190.tar.Z (or .gz)
  188.    VMS: Get kermit/f/ckvaaa.hlp, read it, take it from there.
  189.    OS/2: kermit/archives/cko190.zip.
  190.    Others: Get kermit/f/ckaaaa.hlp, read it, go from there.
  191.  
  192.  . IBM Mainframe Kermit-370 for VM/CMS, MVS/TSO, CICS, and MUSIC.
  193.    kermit/b/ik*.*.
  194.  
  195. - Frank